
/*
 * Comparable 是排序接口,若一个类实现了Comparable接口
 * 就意味着该类支持排序,可以使用Arrays.sort()对该类进行排序
 * */


public class Animal implements Comparable<Animal>{
    String name;
    int age;

    public Animal() {
    }

    public Animal(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public  String toString() {
        return "Animal{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }

    @Override
    public int compareTo(Animal animal) {
        return this.age - animal.age;
        /*
         * this代表对当前对象的引用,o代表对参数对的引用
         * 如果当前对象的age比较大,应排在后面,即返回>0的数字
         * 反之返回小于零的数字
         * 如果两者相等,则不分先后,或者再按照新的规则进行排序
         * */
    }
}